package com.hksj.wlw.mapper;

import com.hksj.cbm.entity.DeviceInstance;
import com.hksj.wlw.dto.LeakWaterAlarmNumDTO;
import com.hksj.wlw.vo.LeakWaterAlarmNumRankingVo;
import com.hksj.wlw.vo.LeakWaterAlarmNumVo;
import com.hksj.wlw.vo.LeakWaterAlarmVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author fjt
 * @data 2024/9/9 15:15
 * @describe 无线漏水-驾驶舱
 */
@Mapper
public interface LeakWaterCockpitMapper {


    /**
     *
     * @param dto 设备位置路径和科室字典明细值
     * @return
     */
    List<DeviceInstance> queryDevice(@Param("dto") LeakWaterAlarmNumDTO dto);


    /**
     * 按天统计指定时间内的温湿度报警数量
     * @param dto
     * @return
     */
    List<LeakWaterAlarmNumVo> queryAlarmNumByTime(@Param("dto") LeakWaterAlarmNumDTO dto);


    /**
     * 查询设备报警记录
     * @param dto
     * @return
     */
    List<LeakWaterAlarmVo> queryAlarmList(@Param("dto") LeakWaterAlarmNumDTO dto);


    /**
     * 查询报警数量
     * @param dto
     * @return
     */
    Integer total(@Param("dto") LeakWaterAlarmNumDTO dto);

    /**
     * 按设备分组统计报警次数
     * @param dto
     * @return
     */
    List<LeakWaterAlarmNumRankingVo> alarmNumRankingGroupDevice(@Param("dto") LeakWaterAlarmNumDTO dto);

}
